![]() Vorrichtung und Verfahren zum Komprimieren von Redundanzinformationen für eingebettete Speicher, ein
专利摘要:
Ein eingebetteter Speicher an einer integrierten Schaltung weist ein Speicherzellarray auf, das mit Ersatzzellen und einer Abbildungslogik zum elektronischen Austauschen defekter Zellen durch die Ersatzzellen an zumindest einem Ort in dem Speicherzellarray ausgerüstet ist. Der Speicher weist ebenso programmierbare Verbindungen zum Speichern von Redundanzinformationen in einem komprimierten Format und eine Decodierungslogik zum Dekomprimieren der Redundanzinformationen und zum Steuern der Abbildungslogik auf. 公开号:DE102004007644A1 申请号:DE200410007644 申请日:2004-02-17 公开日:2005-01-13 发明作者:Fred Fort Collins Gross 申请人:HP Inc; IPC主号:G11C19-00
专利说明:
[0001] Dasvorliegende Dokument bezieht sich auf das Gebiet monolithischerHalbleiterspeichervorrichtungen, die eine Redundanz aufweisen. Insbesonderebezieht sich das Dokument auf eine Komprimierung von Redundanzsteuerinformationenin eingebetteten Speichern, einschließlich Cachespeichern, die z.B. häufigauf integrierten Prozessor- und anderen Logikschaltungen zu findensind. [0002] Vieleverfügbareintegrierte Schaltungen enthalten große Speicherarrays. Während derHerstellung integrierter Schaltungen können Defekte in derartigenSpeicherarrays auftreten. Es ist bekannt, daß viele dieser Defekte, dieals „Punktdefekte" bekannt sind, eineFunktion von nur einer kleinen Anzahl von Zellen verhindern. Vieleandere Defekte, wie z. B. Zeilen- oder Spaltendefekte, können inSpeicherarrays auftreten und verhindern eine Operation von Zellenin einer bestimmten Spalte oder Zeile des großen Speicherarrays, während sieeine Operation anderer Zellen in dem Entwurf erlauben. [0003] Speicherarrays,die in integrierten Schaltungen mit wesentlicher Nicht-Speicherfunktionenthalten sind, sind hierin als eingebettete Speicherarrays bekannt.Eingebettete Speicherarrays umfassen einen Cachespeicher, wie z.B. oft in integrierten Prozessorschaltungen zu finden ist. [0004] IntegrierteSchaltungen, die unreparierte und/oder nicht umgangene Defekte ineingebetteten Speicherarrays aufweisen, haben üblicherweise auf dem Marktkeinen Wert. Es ist wünschenswert,Defekte in eingebetteten Speicherarrays zu reparieren und/oder zuumgehen, um einen Ertrag zu verbes sern und Kosten von Funktionsschaltungenzu reduzieren. Je größer derProzentsatz der Chipflächeist, der durch Speicherarrays eingenommen wird, desto wahrscheinlicherweist das Array Defekte auf. [0005] VieleSpeicherarrays, die in integrierten Schaltungen verfügbar sind,sind mit einer Ersatzgruppe von Zellen ausgerüstet, die elektronisch für defekteZellen in dem Array eingesetzt werden sollen; dadurch werden Defektein den Arrays repariert. Diese Ersatzzellen können die Form zusätzlicher Zellzeilenin einem Array annehmen; auf diese Zellzeilen wird anstelle vonZeilen zugegriffen, die defekte Zellen aufweisen. Ersatzzellen können auchdie Form zusätzlicherSpalten in einem Array annehmen; Daten aus diesen Spalten werdenanstelle von Daten aus defekten Spalten eingesetzt. Blockorganisierte Speicherkönnengesamte Ersatzblöckeaufweisen, wobei ein gesamter Block eines defekten Speichers durcheinen funktionierenden Speicher ersetzt werden kann. Ersatzzellenkönnenebenso als ein kleiner Speicher organisiert sein, der eine Abbildungslogik zumEinsetzen von Zellen des kleinen Speichers anstelle von defektenZellen in einem größeren Array aufweist.Man weiß,daß dieBereitstellung von Ersatzzellen in einem Speichersystem einen Speicherertragwesentlich verbessert, wodurch Produktionskosten trotz eines kleinenChipgrößenanstiegsreduziert werden. [0006] Mitall diesen Techniken müssenErsatzzellen variabel auf das größere Speicherarraydes eingebetteten Speichers abgebildet werden. Diese Abbildung erforderteine Speicherung von Ersatzzellen-, -spalten-, -zeilen- oder -blockabbildungsinformationenin der integrierten Schaltung. Diese erforderlichen Austauschzellen-,-spalten-, -zeilen- oder -blockabbildungsinformationen sind hierinals Redundanzinformationen bekannt. [0007] Esist bekannt, daß Speicherdefekte „harte" Defekte sein können, beidenen Zellen unter keinen Bedingungen mehr funktionieren. AndereDefekte könnengeschwindigkeits- oder temperaturbezogen sein, bei denen Zellennur unter bestimmten Betriebsbedingungen nicht funktionieren. Esist deshalb wünschenswert,Redundanzinformationen in einer nichtflüchtigen Form in der integriertenSchaltung zu speichern, anstatt diese Informationen aus Eigentestergebnissenzur Zeit eines Systemhochfahrens herzuleiten. [0008] Diemeisten integrierten Schaltungsprozesse, die zum Aufbau eingebetteterSpeicherarrays eines statischen oder dynamischen Direktzugriffsspeichers(SRAM oder DRAM) verwendet werden, erlauben keine Herstellung vonEEPROM- oder UV-EPROM-Zellenzur Speicherung von Redundanzinformationen. Eine Speicherung vonRedundanzinformationen in nichtflüchtiger Form in integriertenSchaltungen, die bei diesen Prozessen hergestellt werden, wurdebisher mit laserprogrammierten oder Schmelzverbindungstechnologienerzielt; beide Typen sind hierin als programmierbare Verbindungen bezeichnet.Laserprogrammierbare Verbindungen benötigen eine große Chipfläche, derart,daß eine ProduktionsmaschineausgewählteVerbindungen lokalisieren und programmieren kann, da die Laserpunktgröße verglichenmit Linienbreiten, die bei modernen Submikrometer-Herstellungsprozessenerzielbar sind, groß ist.Schmelzverbindungen erfordern ebenso eine wesentliche Chipfläche für jede Schmelzverbindung,da jede Verbindung zugeordnete Passivierungsöffnungen, Hochstromtreiberzum Schmelzen der Verbindung und andere zugeordnete Komponentenbenötigt. [0009] Esist deshalb wünschenswert,die Anzahl programmierbarer Verbindungen, die zur Speicherung vonRedundanzinformationen auf einer integrierten Schaltung benötigt werden,zu minimieren. [0010] Vieleintegrierte Schaltungen, einschließlich integrierter Prozessorschaltungen,enthalten mehrere eingebettete Speicherarrays mit einer Größe, die ausreichendgroß ist,daß Chiperträge verbesserte werdenkönnen,indem redundante Zellen, eine Abbildungshardware und programmierbareVerbindungen bereitgestellt werden. [0011] Esist üblich,daß eingebetteteArrays mit einer Anzahl von Spalten organisiert sind, die keinePotenz von 2 ist. Insbesondere beinhalten moderne Prozessoren oftmehrere Ebenen eines Cachespeichers, wobei jeder Cachespeicher separateeingebettete Speicherarrays fürDaten und fürCache-Kennungsinformationen aufweist. Cache-Kennungsinformations-Speicherarrayssind oft als ein Speicher organisiert, der eine Wortlänge aufweist,die keine Potenz von 2 ist. JüngsteProzessorentwürfeimplementieren oft eine Fehlerkorrekturcodierung (ECC) für einenCachedatenspeicher zum Schutz vor weichen Fehlern bzw. Soft-Errors;ein Hinzufügeneiner ECC zu einem Speicher, der eine Wortlänge aufweist, die gleich einerPotenz von 2 ist, führtim allgemeinen zu einem Speicher, der eine interne Wortlänge aufweist, diekeine Potenz von 2 ist. [0012] Esist die Aufgabe der vorliegenden Erfindung, einen eingebettetenSpeicher oder eine integrierte Prozessorschaltung zu schaffen, mitderen Hilfe Redundanzinformationen unkompliziert gespeichert werdenkönnen. [0013] DieseAufgabe wird durch einen eingebetteten Speicher gemäß Anspruch1 oder eine integrierte Prozessorschaltung gemäß Anspruch 7 oder 12 gelöst. [0014] Eineingebetteter Speicher an einer integrierten Schaltung ist mit Ersatzzellenausgerüstetund weist Redundanzinformationen zum Steuern eines Austauschs defekterZellen durch die Ersatzzellen in dem eingebetteten Speicher auf. [0015] DieRedundanzinformationen sind innerhalb der integrierten Schaltungin komprimierter Form gespeichert. Eine chipinterne Dekomprimierungslogik istvorgesehen, um die Redundanzinformationen zu dekomprimieren, sodaß einAustauschen defekter Zellen durch Ersatzzellen automatisch auf derintegrierten Schaltung stattfinden kann. [0016] Beieinem bestimmten Ausführungsbeispiel dientder eingebettete Speicher als ein Abschnitt eines Cachespeicherarraysinnerhalb einer integrierten Prozessorschaltung. [0017] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beiliegenden Zeichnungen nähererläutert.Es zeigen: [0018] 1 ein abgekürztes exemplarisches Blockdiagrammeiner integrierten Prozessorschaltung, die eingebettete Speicheraufweist, die als ein Cache dienen; [0019] 2 ein abgekürztes exemplarisches Blockdiagrammeines Cachespeichers, der Redundanzinformationen aufweist, das Daten-und Kennungsspeicher, eine Redundanzinformationsspeicherung undeine Dekomprimierungslogik zeigt; [0020] 3 ein Flußdiagrammeines Dekomprimierers fürkomprimierte Redundanzinformationen; und [0021] 4 ein exemplarisches Blockdiagramm einerchipinternen Dekomprimierungslogik zum Dekomprimieren von Redundanzinformationen. [0022] 1 ist ein Blockdiagrammeiner modernen integrierten Prozessorschaltung 100, dieeingebettete Cachespeicher 102, 104 aufweist.Die integrierte Schaltung 100 weist einen oder mehrereProzessoren 106 auf, wobei jeder derselben mit Instruktions- undDatencaches einer ersten Ebene 102 verbunden ist. Die Cacheserster Ebene 102 könnenseparate Instruktions- und Datencaches implementieren oder können einenkombinierten Instruktions-Daten-Cache implementieren. Speicherreferenzenbzw. Speicherverweise, die in den Caches erster Ebene 102 keinenTreffer landen, werden durch Schnittstellen 108 zu einemkombinierten Instruktions- und Daten-Cache zweiter Ebene 104 weitergeleitet.Speicherreferenzen, die in dem Cache zweiter Ebene 104 einenTreffer landen, werden zu einer Speicher-Bus-Schnittstelle 110 weitergeleitetund zu einem Speicher höhererEbene weitergeleitet. Es kann einen Cache dritter, manchmal sogarvierter Ebene in dem System geben; es sind integrierte Prozessorschaltungen 100 bekannt,die einen Cache dritter Ebene auf der integrierten Prozessorschaltung 100 implementieren.Es sind integrierte Prozessorschaltungen 100 bekannt, beidenen die Cachespeicherarrays, wie z. B. Cachespeicher 102, 104,ein wesentlicher Bruchteil – manchmalsogar drei Viertel – dergesamten aktiven Chipflächesind. Der Herstellungsertrag dieser großen und teuren integriertenProzessorschaltungen wird verbesserte, wenn diese Speicher mit Ersatzzellenausgerüstetsind, die elektrisch abbildbar sind, um defekte Zellen des Arrayszu ersetzen. [0023] 2 stellt Lesepfade einestypischen Mehrweg-Cachespeichersystems 200 dar, wie z.B. in Cachespeichern erster und höherer Ebene 102 und 104 einerintegrierten Prozessorschaltung 100 ausgeführt seinkann. Eine Adresse 202 ist in einen höheren Adreßteil 204 und einenKennungsadreßteil 206 unterteilt.Es kann zusätzlicheAdreßteilegeben, wie z. B. eine Adresse eines Speicherworts in einer Cache-Leitung.Der Kennungsadreßteil 204 wirdan einen Kennungsadreßdecodierer 210 weitergeleitet, derein Kennungsspeicherarray 212 und alle Ersatzzellspalten 214,die vorgesehen sind, adressiert. Der Kennungsspeicher 212 unddie Ersatzzellspalten 214 werden zu einer Redundanzlogik 216 gelesen,bei der defekte Spalten des Kennungsspeichers 212 durchErsatzzellspalten 214 ersetzt werden. [0024] KorrigierteCachekennungsinformationen von der Redundanzlogik 216 weisenmehrere Felder auf, einschließlicheiner Weg-Eins-Adresse 218, einer Weg-Zwei-Adresse 220,Weg-Eins-Flags 222 undWeg-Zwei-Flags 224. Der Hochadreßteil 204 wird durchKomparatoren 226 und 228 mit den Weg-Adressen 218, 220 verglichen.Der Komparator 226, 228, Ergebnisse und Flags 222, 224 werden durcheine Trefferlogik 230 verwendet, um zu bestimmen, ob dieAdresse einen Treffer in dem Cache gelandet hat, sowie, falls diesder Fall ist, welcher „Weg" des Cache getroffenhat. Ein Cache, der mehrere Wege aufweist, wie dies dargestelltist, ist ein Satz-assoziativer Cache. [0025] DerKennungsadreßteil 204 unddie „Weg-Treffer"-Informationen derTrefferlogik 230 werden durch den Cachedatenadreßdecodierer 232 verwendet,um den Cachedatenspeicher 234 und Ersatzzellspalten 236 zuadressieren. Daten, die von dem Cachedatenspeicher 234 undden Ersatzzellspalten 236 gelesen werden, werden durcheine Redundanzlogik 238 gelesen, bei der Daten aus Hartfehlerspaltendes Cachedatenspeichers 234 durch Daten aus Ersatzzellspalten 236 ersetztwerden. Daten aus der Redundanzlogik 238 werden dann für weicheFehler in einer fehlerkorrigierenden Codelogik 240 korrigiert. [0026] DieKennungsspeicherredundanzlogik 216 wird durch dekomprimierteRedundanzinformationen gesteuert, die durch einen Dekomprimierer 246 aus komprimiertenRedundanzinformationen 240 bereitgestellt werden, die inprogrammierbaren Verbindungen auf der integrierten Schaltung gespeichertsind. Ähnlichwird die Cachespeicherredundanzlogik 238 durch dekomprimierteRedundanzinformationen gesteuert, die durch einen Dekomprimierer 250 aus komprimiertenRedundanzinformationen 252 bereitgestellt werden, die inprogrammierbaren Verbindungen gespeichert sind. [0027] Eswird eine integrierte Prozessorschaltung betrachtet, bei der dieWortlängekorrigierter Daten 254 aus der fehlerkorrigierenden Codelogik 240 64 Bitsbeträgt;Daten aus der Redundanzlogik 238 sind bei diesem Ausführungsbeispiel72 Bits breit. Sieben Bits werden deshalb benötigt, um zu steuern, welche Spaltedurch jede Spalte der Ersatzspalten 236 ersetzt wird. EinDeaktivierungscode oder ein Deaktivierungsbit kann verwendet werden,um anzuzeigen, daß einebestimmte Spalte von Ersatzzellen unverwendet ist. Es wird angenommen,daß zweiErsatzspalten vorliegen. Unkomprimierte Redundanzinformationen benötigen deshalb14 bis 16 Bits. Die Gesamtzahl möglicherKombinationen einer Ersatzzellspaltenprogrammierung ist deshalb71 zum Quadrat plus 73 (mit Freigabeinformationen), da es nichtnötig ist,jede Spalte durch beide Ersatzzellspalten zu ersetzen. Es gibt nur5.114 Kombinationen, die in komprimierter Form in 13 Bits codiertsein können. Ähnlich erfordern,wenn vier Ersatzzellspalten vorgesehen sind, unkomprimierte Redundanzinformationen 32Bits, währenddiese Informationen in komprimierter Form in 23 Bits dargestelltsein können. Ähnlich ist dieBreite des Kennungsspeichers 212 unwahrscheinlich einePotenz von 2 und ist deshalb einer potentiellen Komprimierung unterworfen. [0028] Beieinem alternativen Ausführungsbeispiel beträgt die Wortlänge korrigierterDaten 254 aus der fehlerkorrigierenden Codelogik 240 32Bits, während Datenaus der Redundanzlogik 238 32 Bits breit sind. Sechs Bitswerden füreinen direkten Austausch jeder Ersatzzellspalte benötigt; deshalbwürdenzwei Ersatzspalten 12 Redundanzbits benötigen. Diese Informationenkönnenin komprimierter Form unter Verwendung von 10 Bits codiert sein. [0029] DieBreite korrigierter Daten und die Breite von Kennungsspeichern,die hierin ausgedrücktsind, sind lediglich beispielhaft. Es ist zu erwarten, daß die Erfindungauf Speicher unterschiedlicher Breiten anwendbar ist, solange dieSpeicherbreite keine exakte Potenz von 2 ist. [0030] Dadie Komprimierungseffizienz mit der Anzahl von Feldern komprimierterRedundanzinformationen ansteigt, werden bei einem alternativen AusführungsbeispielDekomprimierer 250 und komprimierte Redundanzinformationen 252 gestrichen.Bei diesem Ausführungsbeispielwird die Redundanzlogik 238 durch zusätzliche Felder dekomprimierterRedundanzinformationen gesteuert, die durch den Dekomprimierer 246 auskomprimierten Redundanzinformationen 248 bereitgestelltwerden, die in programmierbaren Verbindungen gespeichert sind. [0031] Beieinem bestimmten Ausführungsbeispiel derintegrierten Prozessorschaltung, die zwei Spalten mit Ersatzzellen 236 aufweist,die dem Cachedatenspeicher 234 zugeordnet sind, sind diekomprimierten Redundanzinformationen 252 gemäß der folgendenFormel codiert: encoded = –(red0·red0)/2 + (2·io_bits+ 3)·red0/2+ red1 – red0wobeifolgendes gilt: encoded = codierte Redundanzinformationen, red0= die Spalte, bei der die erste Ersatzzellspalte in das Array eingesetztwird, und red1 = die Spalte, bei der die zweite Ersatzzellspalte indas Array eingesetzt wird, wobei red0 kleiner als red1 ist. [0032] Beieinem alternativen Ausführungsbeispiel, dasdrei Ersatzspalten aufweist, sind die Redundanzinformationen gemäß der folgendenFormel codiert: encoded = –red1·red1/2 + (2·io_bits+ 3)·red0/2+ red2 – red1+ (red0·red0/3 – (io_bits+ 1)·red0+ 2/3 + (io_bits + 2)·io_bits) ·red0/2wobeifolgendes gilt: encoded = codierte Redundanzinformationen, red0= die Spalte, bei der die erste Ersatzzellspalte in das Array eingesetztwird, red1 = die Spalte, bei der die zweite Ersatzzellspalte indas Array eingesetzt wird, und red2 = die Spalte, bei der diedritte Ersatzzellspalte in das Array eingesetzt wird. [0033] Redundanzinformationen,die gemäß dieser Formelcodiert sind, könnendurch eine digitale Zustandsmaschine decodiert werden, die gemäß dem exemplarischenFlußdiagrammaus 3 ausgeführt ist.Bei einem Ausführungsbeispielist diese Zustandsmaschine in Firmware implementiert, die zur Hochfahrzeitdes Systems ausgeführtwird. Bei einem weiteren Ausführungsbeispielist diese Zustandsmaschine in zweckgebundener Hardware implementiert.Alternative Ausführungsbeispieleumfassen ebenso ein Decodieren der komprimierten Redundanzinformationenin Logikgattern oder einem programmierten Logikarray (PLA). [0034] Indem Flußdiagrammaus 3 ist IO die Anzahlvon Spalten, bei der die erste Ersatzzellspalte auf das Array abgebildetwerden kann, cnt ist ein Schleifenzähler, der auf Null initialisiertist 302, und EN ist eine Variable, die zu Beginn auf diecodierten Redundanzinformationen eingestellt ist. Eine Schleifewird ausgeführt,bei der fürjeden Durchlauf 304 der Schleife die folgenden Aussagenausgeführtwerden: r0 = cnt r1 =en + cnt en = en – io + cnt – 1 cnt= cnt + 1 [0035] DerProzeß endet,wenn entweder EN negativ wird 306 oder der Schleifenzähler cntdie Anzahl codierter Redundanzbits weiterleitet 308. [0036] 4 ist ein exemplarischesBlockdiagramm einer chipinternen Dekomprimierungslogik 400,wie z. B. zum Dekomprimieren von Redundanzinformationen in Implementierungenverwendet werden kann, die eine Dekomprimierung in Hardware anstellein Firmware auf einem Prozessor durchführen. Diese Logik weist vierRegister auf, einschließlicheines 402, das mit der anfänglichen codierten Zahl initialisiertist, eines 404 zum Halten eines decodierten RO-Redundanzcodewerts,eines 406 zum Halten eines decodierten R1-Redundanzcodewertsund eines weiteren 408, das auf die Anzahl von Spalteninitialisiert ist, überdie die Redundanzcodes die Ersatzspalten positionieren können. EinKomparator 410 und eine Arithmetiklogikeinheit (ALU) 412 sindebenso vorgesehen, wie auch ein Schleifenzähler 414 und eineSteuerungslogik 416. Die chipinterne Dekomprimierungslogik 400 führt dasVerfahren aus 3 nacheinem Systemhochfahren aus. [0037] Eswird erwartet, daß alternativeKomprimierungsalgorithmen verwendet werden können, ohne von der Wesensartder Erfindung abzuweichen.
权利要求:
Claims (12) [1] Eingebetteter Speicher, der komprimierte Redundanzinformationenaufweist, an einer integrierten Schaltung, mit folgenden Merkmalen: einemSpeicherzellarray (234); Ersatzzellen (236); einerAbbildungslogik (238), die mit dem Speicherzellarray (234)und den Ersatzzellen (236) gekoppelt ist, zum elektronischenAustauschen defekter Zellen durch die Ersatzzellen an zumindesteinem Ort in dem Speicherzellarray (234); programmierbarenVerbindungen (252) zum Speichern komprimierter Redundanzinformationen;und einer Decodierungslogik (250) zum Dekomprimieren derkomprimierten Redundanzinformationen, die in den programmierbarenVerbindungen (252) gespeichert sind, und zum Bereitstellendekomprimierter Redundanzinformationen zum Steuern der Abbildungslogik(238). [2] Eingebetteter Speicher gemäß Anspruch 1, wobei der eingebetteteSpeicher (234), der komprimierte Redundanzinformationen(252) aufweist, ein Speicher eines Cachespeicher-Teilsystems(104) einer integrierten Prozessorschaltung ist, der ausder Gruppe ausgewähltist, die aus einem Kennungsspeicher (212) und einem Datenspeicher(234) besteht. [3] Eingebetteter Speicher gemäß Anspruch 2, wobei der eingebetteteSpeicher, der komprimierte Redundanzinformationen aufweist, einDatenspeicher (234) eines Cache ist. [4] Eingebetteter Speicher gemäß Anspruch 2, bei dem der Cachespeicherein Satz-assoziativer Cache ist. [5] Eingebetteter Speicher gemäß einem der Ansprüche 2 bis4, bei dem die komprimierten Redundanzinformationen gemäß der folgendenFormel codiert sind: –(red0·red0)/2 + (2·io_bits+ 3)·red0/2+ red1 – red0wobeifolgendes gilt: red0 ist eine Spalte, bei der eine erste Ersatzzellspaltein das Array eingesetzt wird, und red1 ist eine Spalte, beider eine zweite Ersatzzellspalte in das Array eingesetzt wird. [6] Eingebetteter Speicher gemäß einem der Ansprüche 2 bis4, bei dem die komprimierten Redundanzinformationen gemäß der folgendenFormel codiert sind: –red1·red1/2 + (2·io_bits+ 3)·red0/2+ red2 – red1+ (red0· red0/3 – (io_bits+ 1)·red0+ 2/3 + (io_bits + 2)·io_bits)*red0/2wobei folgendes gilt: red0 ist eine Spalte, beider eine erste Ersatzzellspalte (236) in das Array (234)eingesetzt wird, red1 ist die Spalte, bei der eine zweite Ersatzzellspalte(236) in das Array (234) eingesetzt wird, und red2ist die Spalte, bei der eine dritte Ersatzzellspalte (236)in das Array (234) eingesetzt wird. [7] Integrierte Prozessorschaltung, wobei die integrierteProzessorschaltung folgende Merkmale aufweist: zumindest einenProzessor (106); zumindest einen Cachespeicher (104),der mit dem zumindest einen Prozessor (106) gekoppelt ist,um Instruktionen an denselben zu liefern, wobei der Cachespeicher(104) folgende Merkmale aufweist: einen Cachekennungsspeicher(212), eine Adreßvergleichslogik(226, 228) zum Vergleichen eines Abschnitts vonAdreßinformationenmit Informationen aus dem Cachekennungsspeicher (212), eineTreffererfassungslogik (230), die mit der Adreßvergleichslogik(226, 228) gekoppelt ist, zum Bestimmen von Cachetreffern,und einen Cachedatenspeicher (234) zum Speichern von Instruktionen,die an den Prozessor (106) geliefert werden sollen; wobeider Cachedatenspeicher folgende Merkmale aufweist: ein Speicherzellarray(234), Ersatzzellen (236), eine Abbildungslogik(238) zum elektronischen Austauschen defekter Zellen durchdie Ersatzzellen (236) an zumindest einem Ort in dem Speicherzellarray(234); programmierbare Verbindungen (252)zum Speichern komprimierter Redundanzinformationen; und eineVorrichtung zum Decodieren (250) komprimierter Redundanzinformationen,die in den programmierbaren Verbindungen (252) gespeichertsind, und zum Bereitstellen dekomprimierter Redundanzinformationenzur Steuerung der Abbildungslogik (238). [8] Integrierte Prozessorschaltung gemäß Anspruch7, bei der der zumindest eine Cachespeicher (104) auchDaten an den zumindest einen Prozessor (106) liefert. [9] Integrierte Prozessorschaltung gemäß Anspruch7, bei der der zumindest eine Cachespeicher (104) Datenan den zumindest einen Prozessor (106) liefert, wenn derProzessor eine Datenadresse liefert, die einen Treffer in dem Cache(104) landet. [10] Integrierte Prozessorschaltung gemäß Anspruch9, bei der der Cachekennungsspeicher ferner folgende Merkmale aufweist: einSpeicherzellarray (212); Ersatzzellen (214); eineAbbildungslogik (216) zum elektronischen Austauschen defekterZellen durch die Ersatzzellen (214) an zumindest einemOrt in dem Speicherzellarray (212); programmierbareVerbindungen (248) zum Speichern komprimierter Redundanzinformationen;und eine Decodierungslogik (246) zum Dekomprimieren vonRedundanzinformationen und zum Steuern der Abbildungslogik. [11] Integrierte Prozessorschaltung gemäß einem derAnsprüche8 bis 10, bei der die Vorrichtung zum Decodieren komprimierter Redundanzinformationen Redundanzinformationendecodiert, die gemäß der folgendenGleichung codiert sind: –(red0·red0)/2 + (2·io_bits+ 3)·red0/2+ red1 – red0wobeifolgendes gilt: red0 ist eine Spalte, bei der eine erste Ersatzzellspalte(236) in das Array eingesetzt wird, und red1 ist eineSpalte, bei der eine zweite Ersatzzellspalte (236) in dasArray eingesetzt wird. [12] Integrierte Prozessorschaltung, wobei die integrierteProzessorschaltung folgende Merkmale aufweist: zumindest einenProzessor (106); zumindest einen Cachespeicher (104),der mit dem zumindest einen Prozessor (106) gekoppelt ist,um Instruktionen an denselben zu liefern, wobei der Cachespeicher(104) folgende Merkmale aufweist: einen Cachekennungsspeicher(212), eine Adreßvergleichsloqik(226, 228) zum Vergleichen eines Abschnitts vonAdreßinformationenmit Informationen aus dem Cachekennungsspeicher (212), eineTreffererfassungslogik (230), die mit der Adreßvergleichslogik(226, 228) gekoppelt ist, zum Bestimmen von Cachetreffern,und einen Cachedatenspeicher (234) zum Speichern von Instruktionen,die an den Prozessor (106) geliefert werden sollen; wobeider Cachedatenspeicher folgende Merkmale aufweist: ein Speicherzellarray(234), Ersatzzellen (236), eine Einrichtungzum elektronischen Austauschen defekter Zellen durch die Ersatzzellenan zumindest einem Ort in dem Speicherzellarray; eine Einrichtungzum Speichern komprimierter Redundanzinformationen; und eineEinrichtung zum Decodieren komprimierter Redundanzinformationen,die in den programmierbaren Verbindungen gespeichert sind, und zumBereitstellen dekomprimierter Redundanzinformationen zur Steuerungder Einrichtung zum elektronischen Austauschen defekter Zellen durchdie Ersatzzellen an zumindest einem Ort in dem Speicherzellarray.
类似技术:
公开号 | 公开日 | 专利标题 US9436609B2|2016-09-06|Block addressing for parallel memory arrays US9570201B2|2017-02-14|Repair of memory devices using volatile and non-volatile memory US7546440B2|2009-06-09|Non-volatile memory devices and control and operation thereof KR100282971B1|2001-03-02|동적랜덤액세스메모리어셈블리및동적랜덤액세스메모리모듈의조립방법 US5758056A|1998-05-26|Memory system having defective address identification and replacement US6996017B2|2006-02-07|Redundant memory structure using bad bit pointers US7386771B2|2008-06-10|Repair of memory hard failures during normal operation, using ECC and a hard fail identifier circuit KR100712596B1|2007-04-30|플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치 JP4062247B2|2008-03-19|半導体記憶装置 JP3386547B2|2003-03-17|リダンダンシ回路装置 KR100505702B1|2005-08-02|웨이퍼 테스트와 포스트 패키지 테스트에서 선택적으로프로그램 가능한 반도체 메모리 장치의 리페어 장치 및 그리페어 방법 US7492652B2|2009-02-17|Apparatus and method for repairing a semiconductor memory US6851081B2|2005-02-01|Semiconductor memory device having ECC type error recovery circuit US4601019A|1986-07-15|Memory with redundancy JP3790208B2|2006-06-28|半導体集積回路装置 KR100315265B1|2002-02-19|반도체메모리장치 KR950004623B1|1995-05-03|리던던시 효율이 향상되는 반도체 메모리 장치 US8553486B2|2013-10-08|Semiconductor memory device correcting fuse data and method of operating the same KR940007241B1|1994-08-10|반도체 메모리 장치의 로우 리던던시장치 US7219271B2|2007-05-15|Memory device and method for redundancy/self-repair US4051354A|1977-09-27|Fault-tolerant cell addressable array US8656252B2|2014-02-18|Memory controller and non-volatile storage device US7783941B2|2010-08-24|Memory devices with error detection using read/write comparisons DE102006001492B4|2008-09-11|Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung US4688219A|1987-08-18|Semiconductor memory device having redundant memory and parity capabilities
同族专利:
公开号 | 公开日 US7162669B2|2007-01-09| US20040255209A1|2004-12-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-01-13| OP8| Request for examination as to paragraph 44 patent law| 2005-05-25| 8127| New person/name/address of the applicant|Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE | 2007-12-13| 8139| Disposal/non-payment of the annual fee|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|